package recursion;

import java.io.File;
/*
* 输出入目下所有的内容
* String List()  访问一级文件夹
* File listFiles() 访问一级文件夹
* */
public class Demo03 {
    public static void main(String[] args) {
        printDir(new File("day22/文件"));
    }

    public static void printDir(File dir) {
        // 1.获取当前目录下的文件下内容
        File[] files = dir.listFiles();
        //2.遍历files数组，输出文件夹和文件
        for (File f : files) {
            //3.如果当前遍历的是文件
            if (f.isFile()) {  //判断是否是文件
                System.out.println(f);
            } else {       // 此处就是输出文件夹
                System.out.println(f);
                printDir(f);
                //由于接下的动作是调用listFiles()获取文件夹下的内容,然后遍历这个File[],这个逻辑跟我们printDir(File dir)
                //方法逻辑重复,所以我们可以利用递归的思想重复调用printDir(File dir)简化代码
            }
        }
    }
}
